<?php

/**
 * @file Esse arquivo contem funcoes que fazem consultas especificas no banco
 * para a geracao de relatorios
 */

//
// Consultas referentes ao estado de atividade da bolsa (Ativo ou Inativo)
// 

/**
 * retorna os bolsistas ativos
 */
function relatorios_getBolsistasAtivos() {
	return relatorios_getStatusBolsas(1);
}

/**
 * Retorna os bolsistas inativos
 */
function relatorios_getBolsistasInativos() {
	return relatorios_getStatusBolsas(0);
}


/** 
 * retorna bolsas ativas para parametro 1 e bolsas inativas para parametro 0.
 */
function relatorios_getStatusBolsas($ativo){
	$select = db_select(Bolsa::TYPE)
						->fields(Bolsa::TYPE)
							->condition('ativo', $ativo);
	return $select->execute()->fetchAll();
}

//
// Consultas referentes a Condicao do aluno na Universidade
//

/** */
function relatorios_getBolsistasPorCondicao($condicao){
	$consulta = db_select(Aluno::TYPE)->fields(Aluno::TYPE)
							->condition("condicao_id", $condicao_id);	
	return $consulta->execute()->fetchAll();
}


/** */
function selecionar_por_curso($id){
	$query = db_select('bolsistas', 'b');
	$query->join('alunos', 'a', 'b.id = a.id');
	$results = $query
	->fields('b')
	->condition('a.curso', $id)
	->execute()
	->fetchAll();
	return $results;
}

/** */
function selecionar_por_campus($id){
	$query = db_select('bolsistas', 'b');
	$query->join('alunos', 'a', 'b.id = a.id');
	$results = $query
	->fields('b')
	->condition('a.campus', $id)
	->execute()
	->fetchAll();
	return $results;
}

/** */
function bolsistas_curso(){
	$query = db_select('bolsistas', 'b');
	$query->join('alunos', 'a', 'b.id = a.id');
	$results = $query
	->fields('a')
	->condition('b.estado', 1)
	->execute()
	->fetchAll();
	$cursos=array();
	foreach($results as $bolsista){
		if (!array_key_exists($bolsista->curso, $cursos)){
			$cursos[$bolsista->curso]=array(1);
		}
		else{
			array_push($cursos[$bolsista->curso], 1);
		}
	}
	$tb_cursos = db_select('cursos', 'cursos');
	$return = $tb_cursos
	->fields('cursos')
	->condition('cursos.id',array_keys($cursos),'IN')
	->execute()
	->fetchAll();

	$lista_bolsistas_curso=array();
	foreach ($return as $i){
		$lista_bolsistas_curso[$i->nome]=$cursos[$i->id];
	}
	return $lista_bolsistas_curso;
}

/** */
function bolsistas_campus(){
	$query = db_select('bolsistas', 'b');
	$query->join('alunos', 'a', 'b.id = a.id');
	$results = $query
	->fields('a')
	->condition('b.estado', 1)
	->execute()
	->fetchAll();
	$campus=array();
	foreach($results as $bolsista){
		if (!array_key_exists($bolsista->campus, $campus)){
			$campus[$bolsista->campus]=array(1);
		}
		else{
			array_push($campus[$bolsista->campus], 1);
		}
	}

	$tb_campus = db_select('campus', 'campus');
	$return = $tb_campus
	->fields('campus')
	->condition('campus.id',array_keys($campus),'IN')
	->execute()
	->fetchAll();

	$lista_bolsistas_campus=array();
	foreach ($return as $i){
		$lista_bolsistas_campus[$i->nome]=$campus[$i->id];
	}
	return $lista_bolsistas_campus;
}

/** */
function cursos_load_todos($entry = array()) {
	$select = db_select('cursos', 'cursos');
	$select->fields('cursos');
	foreach ($entry as $field => $value) {
		$select->condition($field, $value);
	}
	return $select->execute()->fetchAll();
}

/** */
function bolsistas_modalidades(){
	$query = db_select('bolsistas', 'b');
	$results = $query
	->fields('b')
	->condition('b.estado', 1)
	->execute()
	->fetchAll();

	$modalidades=array();
	foreach($results as $bolsista){
		if (!array_key_exists($bolsista->bolsa_id, $modalidades)){
			$modalidades[$bolsista->bolsa_id]=array(1);
		}
		else{
			array_push($modalidades[$bolsista->bolsa_id], 1);
		}
	}

	$tb_modalidades = db_select('modalidades', 'modalidades');
	$return = $tb_modalidades
	->fields('modalidades')
	->condition('modalidades.pid',array_keys($modalidades),'IN')
	->execute()
	->fetchAll();

	$lista_bolsistas_modalidades=array();
	foreach ($return as $i){
		$lista_bolsistas_modalidades[$i->nome]=$modalidades[$i->pid];
	}
	return $lista_bolsistas_modalidades;
}
